#ifndef BULLETSCREENITEM_H
#define BULLETSCREENITEM_H

#include <QWidget>
#include <QLabel>
#include <QPropertyAnimation>

class BulletScreenInfo
{
public:
    QString userId; // 用户ID
    QString videoId; //视频ID
    QString text;   // 弹幕内容
    int64_t playTime; // 发送弹幕时当前播放时间

    BulletScreenInfo(const QString& userId = "", int64_t playTime = 0, const QString& text = "")
        : userId(userId)
        , playTime(playTime)
        , text(text)
    {}

};

class BulletScreenItem : public QWidget
{
    Q_OBJECT
public:
    // 完成弹幕显⽰布局
    explicit BulletScreenItem(QWidget *parent = nullptr);
    // 设置弹幕中⽂本
    void setBulletScreenText(const QString &content);
    // 设置弹幕⽤⼾头像
    void setBulletScreenIcon(QPixmap& pixmap);
    // 设置弹幕动画效果
    void setBulletScreenAnimal(int x, int duration);
    // 开启动画
    void startAnimal();

private:
    QLabel* textLabel; // 弹幕中⽂本
    QLabel* imageLabel; // 弹幕中⽤⼾头像
    QPropertyAnimation* animal = nullptr;    // 弹幕动画

};

#endif // BULLETSCREENITEM_H
